Skip to content

feat: add application provisioning (SCIM) tools - #72

Open
mjdavidson wants to merge 1 commit into
okta:mainfrom
mjdavidson:feat/app-provisioning-scim-tools
Open

feat: add application provisioning (SCIM) tools#72
mjdavidson wants to merge 1 commit into
okta:mainfrom
mjdavidson:feat/app-provisioning-scim-tools

Conversation

@mjdavidson

Copy link
Copy Markdown

There was no way to configure outbound SCIM provisioning (directory sync) on an application. Adds connection tools (get/set/activate/deactivate — base URL + bearer token, TOKEN auth) and feature tools (list_app_features/update_app_feature). The request bodies are SDK oneOf unions built via from_dict so the base URL, token, and capabilities actually serialize. On an app that does not support provisioning, Okta returns HTTP 200 with status/authScheme = UNKNOWN and no error; the connection tools detect that sentinel and return a clear error.

Tests: tests/test_app_provisioning.py.

There was no way to configure outbound SCIM provisioning (directory sync) on an
application, so an app could not be pointed at an external SCIM endpoint through
the server. Add tools covering the connection and feature endpoints:

- get_app_provisioning_connection / set_app_provisioning_connection
  (base URL + bearer token, TOKEN auth) / activate / deactivate
- list_app_features / update_app_feature (configure create/update/deactivate
  user and group-push capabilities)

The two request bodies are SDK oneOf unions, so they are built via from_dict to
bind the concrete variant — otherwise the base URL, token, and capabilities
would serialize to an empty body. Reads gate on okta.apps.read and writes on
okta.apps.manage, with registry entries and README updates.

On an app that does not support provisioning, Okta returns HTTP 200 with the
connection status and auth scheme both set to UNKNOWN (no error). The connection
tools detect that sentinel and return an explicit error instead of a response
that looks half-configured.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant